package com.tledu.methods;

import java.sql.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class Test {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        // 1 加载驱动
        // Class.forName("com.mysql.jdbc.Driver").newInstance();
        // new com.mysql.jdbc.Driver();
        // 前两种都会创建堆内存对象,而第三种,只是把类加载到内存中
        // 载入内存的时候,会自动向DriverManager中进行注册
        Class.forName("com.mysql.jdbc.Driver");

        // 2 创建数据库连接对象
        // 导包使用的都是java.sql的
        Connection conn = DriverManager.getConnection(
                "jdbc:mysql://127.0.0.1:3306/erp16", "root", "root");

        // 3 创建语句传输对象
        String sql = "select * from t_user";
        Statement stmt = conn.createStatement();

        // 4 接收数据库结果集
        ResultSet rs = stmt.executeQuery(sql);
        while (rs.next()) {
            //  在循环遍历中,把数据取出来
            System.out.print(rs.getInt("id") + "    ");
            System.out.print(rs.getString("id") + "  ");
            // 字符串不能用int来接收
            // System.out.print(rs.getInt("name") +"    ");
            System.out.print(rs.getString("username") + "  ");
            // 3 对应的是name列,如果更改表结构,把name列放到第四位了,那么这里就获取不到name了
            // 所以 不灵活,不推荐使用
            System.out.println(rs.getString(3));
        }
        rs.close();
        stmt.close();
        conn.close();
    }
}
